查看原文
其他

小学生也能看懂的零知识证明科普(1)零知识证明与交互式证明 | ZKP101

曼达洛人 Manta Network Protocol 2022-10-11
注:本篇示例引用自https://medium.com/qed-it/the-incredible-machine-4d1270d7363a。作者Aviv Zohar,Ghost、Spectre 协议创始团队成员。
为什么要关注这个系列文章?
1/ 赛道关注高。资本对该赛道预期较高,零知识证明概念项目动辄千万美元级别以上融资,且大部分当前估值过亿美元。
以太坊创始人 Vitalik 等业内大佬,对零知识证明也有较高期待,他曾表示长期来看 zk-Rollup 将成为以太坊主要 Layer2 扩容方案,并撰写多篇文章,阐释零知识证明相关概念。
2/ 赛道尚属早期。由于开发难度较大,且项目大多于近几年创立,绝大多数项目主网、代币未上线,赛道尚属早期。可提早关注。
3/ 零知识证明名词和概念较多 zk-Rollup、zk-EVM、zk-SNACK、zk-STARK 等名词多且繁琐。
本系列将试图用通俗的举例和语言,帮助大家理解复杂概念。本系列非学术论述,举例只为帮助大家通俗理解,更严谨的表述,欢迎大家查看专业论文学习。
从数独游戏开始
奇异博士和绿巨人很喜欢玩数独。
数独是一种如下图所示的数字游戏,玩家需要在空格内,填上 1-9 任意数字,让每一行、每一列、每个粗线格(3*3格)内的数字,均包含 1-9,且不重复。

有天,奇异博士给绿巨人出了一道很难的数独,把绿巨人难住了。
眼看做不出来,绿巨人脑筋一转道,“博士,这题是不是根本就无解?”“怎么可能呢?我自己做出来了啊。”奇异博士说道。
“真的吗?我不信。”绿巨人回答。
博士接着说,那我证明给你看。但我会用“零知识证明”在不把解告诉你的情况下,证明这题有解。
绿巨人瞪大了眼睛。
零知识证明
博士让绿巨人在屋外等着。自己拿出 81 张卡牌,每张卡牌上都写着一个数字。
他按照解法,把卡牌摆放好。再把“答案”都翻过去,只让题面卡牌朝上,如下图。

博士把门打开。
绿巨人惊讶道,“这…我怎么验证?”
博士拿出 9 个纸袋子。
他把同一行的卡牌收起来,放到同一个袋子里,用手搅了搅,打乱顺序。9 行卡牌分别放进了 9 个袋子里。
“我现在打开每一个袋子,看看里面的卡牌是不是1-9。如果是,证明有解;如果不是,说明你错了。”绿巨人打开了袋子,每个袋子的数字,还真是按1-9排列。
尽管亲手验证了结果,但绿巨人还是不服,“你这万一是蒙的呢?”
接着博士再次摆好卡牌,绿巨人又按照每一列和每个 3*3 粗线格的顺序,收集卡牌验证。
结果还是一样,每个袋子里的卡牌按 1-9 排列。
这下绿巨人心服口服了。他相信这道题有解,但他不知道解是什么。
小结
本文实际介绍了两个概念:零知识证明与交互式证明。
关于零知识证明
1/ 在零知识证明中,有两类参与者:证明者和验证者。证明者提供“证明”,在无需提供其他信息的情况下,即可向验证者证明信息为真。
故事中,奇异博士是证明者,需证明数独有解。绿巨人是验证者。
绿巨人确信该题有解,但他不知道具体的解是什么。
2/ 零知识证明的性质
完备性(Complete):提交者若确实掌握了答案,那他能找到方法向验证者证明为真,即真的假不了。
合理性(Sound):若提交者未掌握答案,那他无法向验证者证明为真,即假的真不了。
零知识性(Zero-Knowledge):证明过程中,验证者除了“证明”之外,不会获得其他相关信息。
3/ 零知识证明应用方向:隐私与扩容
隐私方面。基于“零知识性”,提交者能有效保护隐私信息。
将零知识证明应用于隐私保护的项目有:Manta Network、Aleo、Aztec,以及链游 DarkForest 黑暗森林等等。
其中,Manta 基于零知识证明,创立了隐私资产类型 zkAssets,支持用户将现有的 ERC20 代币,ERC721、ERC1155 等 NFT 转入 Manta。
将原本链上公开的资产,转变为隐私资产 zkAssets,进行隐私交易、DeFi 交互、NFT 买卖,隐私 GameFi 等操作。
也支持开发者创建 Manta 链上原生隐私资产。
扩容方面。要从共识说起。以太坊高交易成本,背后的经济学原因在于共识:共识一定是昂贵的,因为不贵的共识是不可信的。
假设有 10,000 个节点,每个节点做同样的计算,产生的结果就很可靠,不会因为少部分节点的不诚实而对共识结果产生影响。这也是为何区块链可以去中心化——通过算法的手段建立信任。
然而,共识成本在于 10,000 个节点重复计算,成本比在 1 个节点上贵 10,000 倍。这是所有共识协议,不管是 PoW 还是 PoS 都存在的问题。
零知识证明是可以从本质上降低成本的一种方式——可以在 1 个节点上运行计算,其它节点用密码学方法验证计算的可靠性,不需要重复计算。
在以太坊等比较昂贵的链上,验证计算的正确性,比重复计算更便宜,更节省 Gas。这也是大家看好 zk-Rollup 的原因。
zk-Rollup 搭建在 Layer1 主链上,将多笔交易打包成一笔,提交给以太坊主链,通过 ZK(SNARK或 STARK)被主链快速验证,而不是让主链单独处理每一笔交易。
每笔交易的大小会进行压缩,同时,零知识验证成本会分摊到每个交易上,可以节省 Gas 费,提高 TPS。
4/ 交互式证明是零知识证明的一种验证方式。
故事中,奇异博士摆好卡牌,让绿巨人先按行验证。然后再摆好卡牌,让绿巨人按列、按粗线格(3*3格)验证。
验证过程中,博士和绿巨人持续互动。这叫“交互式证明”,验证者和证明者持续交互。
有点像数学老师出的算术题,几十道甚至上百道题,若学生都能答对,则可以认为该学生已经掌握了算数技巧。
但问题是,万一阅卷老师和考生串通呢,帮助学生作弊怎么办?
如何解决提交者和验证者串通问题?接下来,就要引出非交互式证明的概念了,也就是 zk-SNACK 和 zk-STARK 。
欢迎关注Manta Network Protocol公众号,或关注推特@manta_china
获取更多关于零知识证明和 Manta Network 的资讯。

关于 Manta Network
Manta Network 致力于通过隐私保护构建一个更好的 Web3 世界。Manta 的产品设计从第一性原理出发,通过 zkSNARK 等领先的密码学架构为区块链用户提供端对端的隐私保护。在保障隐私的同时,Manta 兼具互操作性、便捷性、高性能以及可审计性,允许用户进行任意平行链资产间的隐私转账和交易。Manta 的愿景是为整个区块链世界提供更便捷的隐私保护服务。
Manta 的创始团队由多位加密货币资深人士,教授和学者组成,他们的经验包括哈佛大学,麻省理工学院和 Algorand。Manta 的投资机构包括 Polychain、ParaFi、Binance Labs、Multicoin、CoinFund、 Alameda、DeFiance 以及 Hypersphere 等。Manta 也是波卡官方 Web3 基金会资助获得者,Substrate Builder Program 成员,伯克利大学区块链加速器成员。
We're Hiring!
访问查看开放职位:https://jobs.lever.co/MantaNetwork
关注官方频道了解有关 Manta/Calamari 的更多信息:
Website:https://manta.network/
Github:https://github.com/Manta-Network
Twitter:https://twitter.com/MantaNetwork
Medium:https://mantanetwork.medium.co
Telegram:https://t.me/mantanetwork
Discord:https://discord.gg/ZtSuSKRy8X
Telegram中文:https://t.me/mantanetwork_zh
Twitter中文:https://twitter.com/manta_china

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存